-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Fedora 39 #680
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the PR and all the research behind this.
This also partially solves #211. Just adding this here so we can keep track of this in that discussion.
Python3-PySide6-rpm suggestions:
- https://github.com/freedomofpress/python3-pyside6-rpm/blob/main/.github/workflows/ci.yml#L20 maybe instead having CI test always on a specific version of PySide6 (we'll for sure forget to update it), then maybe we want it running on the latest PySide6 version or maybe fetching the version we're using in dangerzone with
git clone... && poetry show pyside6 | grep -v
. Might be overkill. I'm just concerned about forgetting to change this. - question: https://github.com/freedomofpress/python3-pyside6-rpm/blob/main/.github/workflows/ci.yml#L36C15-L36C41 uploading artifacts makes it available as a release?
👍
Right, we discussed about having an automated job in the
They make them available as nightly artifacts to logged in GitHub users. You can check it out from the "Actions" tab. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fedora 39 ships with Python 3.12 by default, which Dangerzone previously did not support due to limitations from the PySide6 package. Now that the PySide6 package has been updated to 6.6.1, and the limitation has lifted, we should to reflect this in pyproject.toml.
Update our RPM spec file to include PySide6 as a dependency, for Fedora 39 onward.
The env.py dev script does not return an exit code for failures, so we add the necessary 'return' statements to do so.
Extend the env.py script to build an end-user, Fedora 39+ environment with PySide6 installed, as a regular RPM package. Previously, this was only possible for development environments with PySide6 downloaded from PyPI. As a way to simplify builds, the env.py script offers the option to download the RPM package itself from FPF's RPM repo [1], if the package has been uploaded. [1]: https://packages.freedom.press/yum-tools-prod
Now that we can create a Dangerzone RPM that depends on PySide6, we can officially support Fedora 39 as a platform. Add this platform in our CI tests, as well as our install/release notes. Fixes #606
Add some Fedora CI jobs that build RPMs, install them in an end-user environment, and make a simple conversion and GUI import check. These are basically smoke tests for Fedora, similar to the ones we have for Debian.
Explain what's the process behind adding/removing Linux platforms, prior to a release.
Explain what happens when we bump our `poetry.lock`, and a new Pyside6 version. Also, have a step-by-step guide on how the maintainer should create a new PySide6 RPM and update FPF's repo, so that Dangerzone can be released.
Heads up for those who can't install Dangerzone in Fedora 39 yet: we plan to release Dangerzone 0.6.0 in the coming days, and with that an RPM for Fedora 39. You should then be able to install it in your system. In the meantime, note that you can build a Dangerzone RPM locally by following our build instructions. |
This PR adds long awaited support for Fedora 39. More specifically, it includes the following changes:
--download-pyside6
flag, but also allow the dev to provide a PySide6 RPM, if they have one handy.Fixes #606